package com.hd.core.project.module.mapper;

import com.baomidou.mybatisplus.mapper.BaseMapper;
import com.hd.core.project.module.domain.Select2;
import com.hd.core.project.module.domain.Classes;

import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Param;

/**
 * 班级-数据访问层<br/>
 * 
 * @since JDK 1.8
 * @version  V1.0
 * @author RichardTang 
 * @date: 2018年8月20日
 * @package com.hd.core.project.module.mapper
 * @copyright:Copyright (c) 2018, 1245811923@qq.com All Rights Reserved.
 */
public interface ClassesMapper extends BaseMapper<Classes>{

    /**
     * 根据输入的名称查询是否存在该班级
     * @param className 班级名称
     */
    Integer checkName(String className);

    /**
     * 根据班级id查询出对应的教师id
     * @param classIds 班级id
     */
    List<Long> selectTeacherIdById(@Param("classIds") List<String> classIds);

    /**
     * 班级人数累加
     * @param classId 班级id
     * @param number 累加数量
     */
    Integer increasePeopleNumber(String classId,Integer number);

	/**
	 * 减少学生人数
	 * @param idMap key为对应班级id value为减少的人数
	 */
	void decreasePeopelNumber(@Param("idMap") Map<String, Long> idMap);

	/**
	 * 查询班级并返回Select2格式
	 */
	List<Select2> selectListFmtSelect2();
}